package com.battle.service.service.in;

import com.battle.pojo.param.tacticsUser.CreateTacticsUserParam;
import nirvana.core.domains.vo.PageResult;
import com.battle.pojo.param.tactics.*;
import com.battle.pojo.vo.tactics.*;

import java.util.List;


/**
 * 【描 述】：战术服务
 * 【环 境】：J2SE
 * 【详 细】：
 */
public interface TacticsService {

    /**
     * 创建战术
     *
     * @param param
     */
    void createTactics(CreateTacticsParam param);

    /**
     * 修改战术
     *
     * @param param
     */
    void editTactics(EditTacticsParam param);

    /**
     * 移除战术
     *
     * @param id
     */
    void removeTactics(Long id);

    /**
     * 启动/禁用战术
     *
     * @param id
     */
    void enabledTactics(Long id);

    /**
     * 获取战术详情
     *
     * @param id
     * @return
     */
    GetTacticsVo getTactics(Long id);

    /**
     * 创建战术学习
     * @param param
     */
    void createTacticsUser(CreateTacticsUserParam param);

    /**
     * 获取战术列表
     *
     * @param param
     * @return
     */
    PageResult<GetTacticsListVo> getTacticsList(GetTacticsListParam param);


    /**
     * 获取战术下拉列表
     *
     * @param param
     * @return
     */
    List<GetTacticsDownListVo> getTacticsDownList(GetTacticsDownListParam param);


}